package com.tensquare.search.pojo;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * 文章实体类
 * 搜索模块不用添加所有的字段，只需要把要显示的字段添加进来即可
 *  一般是：id、标题、描述、内容(不用分词)
 */
// 索引名(数据库名)，类型名(表名，可以不用创建，直接写)
@Document(indexName = "tensquare_article", type = "article")
public class Article {

    @Id
    private String id; // 主键id

    /**
     * Field，域(对应列)，参数：是否索引，是否分词
     * （1）是否索引：就是看该域是否能被搜索
     * （2）是否分词：表示搜索的时候是整体匹配还是单词匹配，使用分词器
     * （3）是否存储：是否在页面上显示
     */
    @Field(index = true, type = FieldType.text, analyzer = "ik_max_word", searchAnalyzer = "ik_max_word")
    private String title; // 标题

    @Field(index = true, type = FieldType.text, analyzer = "ik_max_word", searchAnalyzer = "ik_max_word")
    private String content; // 内容

    private String state; // 审核状态

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }
}
